package com.shensi.api.admin.domian.integral.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.shensi.common.core.annotation.Excel;
import com.shensi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 用户积分对象 customer_points
 *
 * @author shensi
 * @date 2021-02-24
 */
public class CustomerPointsDto extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 微信用户unionID
     */
    @Excel(name = "微信用户unionID")
    private String unionId;

    /**
     * 公众号的openID
     */
    @Excel(name = "公众号的openID")
    private String blogOpenid;

    /**
     * 小程序的openID
     */
    @Excel(name = "小程序的openID")
    private String minaOpenid;

    /**
     * 用户手机号码
     */
    @Excel(name = "用户手机号码")
    private String mobilePhone;

    /**
     * 用户剩余积分
     */
    @Excel(name = "用户剩余积分")
    private Long points;

    /**
     * 用户已消费累计积分
     */
    @Excel(name = "用户已消费累计积分")
    private Long consumptionPoints;

    /**
     * 用户累计积分
     */
    @Excel(name = "用户累计积分")
    private Long accumulatePoints;

    /**
     * 用户已失效累计积分
     */
    @Excel(name = "用户已失效累计积分")
    private Long invalidPoints;

    /**
     * 最新消费积分时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最新消费积分时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date recentConsumptionDate;

    /**
     * 油站ID
     */
    @Excel(name = "油站ID")
    private Long stationId;

    /**
     * 油站名称
     */
    @Excel(name = "油站名称")
    private String stationName;
    private String customerName;

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setUnionId(String unionId) {
        this.unionId = unionId;
    }

    public String getUnionId() {
        return unionId;
    }

    public void setBlogOpenid(String blogOpenid) {
        this.blogOpenid = blogOpenid;
    }

    public String getBlogOpenid() {
        return blogOpenid;
    }

    public void setMinaOpenid(String minaOpenid) {
        this.minaOpenid = minaOpenid;
    }

    public String getMinaOpenid() {
        return minaOpenid;
    }

    public void setMobilePhone(String mobilePhone) {
        this.mobilePhone = mobilePhone;
    }

    public String getMobilePhone() {
        return mobilePhone;
    }

    public void setPoints(Long points) {
        this.points = points;
    }

    public Long getPoints() {
        return points;
    }

    public void setConsumptionPoints(Long consumptionPoints) {
        this.consumptionPoints = consumptionPoints;
    }

    public Long getConsumptionPoints() {
        return consumptionPoints;
    }

    public void setAccumulatePoints(Long accumulatePoints) {
        this.accumulatePoints = accumulatePoints;
    }

    public Long getAccumulatePoints() {
        return accumulatePoints;
    }

    public void setInvalidPoints(Long invalidPoints) {
        this.invalidPoints = invalidPoints;
    }

    public Long getInvalidPoints() {
        return invalidPoints;
    }

    public void setRecentConsumptionDate(Date recentConsumptionDate) {
        this.recentConsumptionDate = recentConsumptionDate;
    }

    public Date getRecentConsumptionDate() {
        return recentConsumptionDate;
    }

    public void setStationId(Long stationId) {
        this.stationId = stationId;
    }

    public Long getStationId() {
        return stationId;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public String getStationName() {
        return stationName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("unionId", getUnionId())
                .append("blogOpenid", getBlogOpenid())
                .append("minaOpenid", getMinaOpenid())
                .append("mobilePhone", getMobilePhone())
                .append("points", getPoints())
                .append("consumptionPoints", getConsumptionPoints())
                .append("accumulatePoints", getAccumulatePoints())
                .append("invalidPoints", getInvalidPoints())
                .append("recentConsumptionDate", getRecentConsumptionDate())
                .append("stationId", getStationId())
                .append("stationName", getStationName())
                .toString();
    }
}
